A number of syntactic symbols are associated with parenthesis lists, a.k.a argument lists, as found in function declarations and function calls. This example illustrates these:
1: void a_function( int line1,
2: int line2 );
3:
4: void a_longer_function(
5: int line1,
6: int line2
7: );
8:
9: void call_them( int line1, int line2 )
10: {
11: a_function(
12: line1,
13: line2
14: );
15:
16: a_longer_function( line1,
17: line2 );
18: }
Lines 5 and 12 are assigned
arglist-intro syntax since they are the first line
following the open parenthesis, and lines 7 and 14 are assigned
arglist-close syntax since they contain the
parenthesis that closes the argument list.
Lines that continue argument
lists can be assigned one of two syntactic symbols. For example,
Lines 2 and 17 are assigned arglist-cont-nonempty
syntax. What this means is that they continue an argument list,
but that the line containing the parenthesis that opens the list
is not empty following the open parenthesis. Contrast
this against lines 6 and 13 which are assigned
arglist-cont syntax. This is because the parenthesis
that opens their argument lists is the last character on that
line.
Syntactic elements with arglist-intro,
arglist-cont-nonempty, and
arglist-close contain two buffer positions: the
anchor position (the beginning of the declaration or statement)
and the position of the open parenthesis. The latter position can
be used in a line-up function (see Line-Up
Functions).
Note that there is no arglist-open syntax. This
is because any parenthesis that opens an argument list, appearing
on a separate line, is assigned the statement-cont
syntax instead.